#!/bin/bash

# 定义备份目录列表
backup_dirs=("/workspace/programming-language-demo/dir1" "/workspace/programming-language-demo/dir2" "/workspace/programming-language-demo/dir3")

# 定义远程服务器信息
remote_user="root"
remote_host="server_ipaddress"
remote_dir="/backup"

# 当前日期
date=$(date +%Y-%m-%d)

# 遍历备份目录列表
for dir in "${backup_dirs[@]}"; do
    if [ -d "$dir" ]; then
        # 获取目录名称
        dir_name=$(basename "$dir")
        
        # 创建备份文件名
        backup_file="${dir_name}_${date}.tar.gz"
        
        # 备份目录并压缩
        echo "备份目录: $dir 到 $backup_file"
        tar -czf "/tmp/$backup_file" -C "$(dirname "$dir")" "$(basename "$dir")"
        
        # 将备份文件传输到远程服务器
        echo "正在传输备份文件到远程服务器..."
        scp "/tmp/$backup_file" "$remote_user@$remote_host:$remote_dir"
        
        # 删除临时备份文件
        rm -f "/tmp/$backup_file"
    else
        echo "目录 $dir 不存在，跳过该目录。"
    fi
done

echo "备份完成！"
